<?php

require_once 'connection.php';

class ORMEncargado extends Connection {

    //put your code here
    private $conexion;
    /////// HENDERSON//////////
    private $Identidad;
    private $nombre;
    private $fecha;
    private $direccion;
    private $telefono;
    private $sexo;
    private $idPersona;

    /////// HENDERSON//////////
    
      function ORMEncargado() {
      $this->conexion = new Connection();
      $this->conexion->connect();
      }

      /*
      function SetIdPaciente($IdPaciente) {
      $this->idPaciente = $IdPaciente;
      }

      function ObtenerEdad() {
      $sql_consulta = "SELECT DATEDIFF(NOW(),fechaNacimiento)/365 AS edad FROM Persona WHERE IdPersona=3";
      $conexion_consulta2 = new Connection();
      $qry_consulta = $conexion_consulta2->executeQuery($sql_consulta);
      $reg_consulta = mysql_fetch_assoc($qry_consulta);
      return $reg_consulta['edad'];
      }

      public function buscaPaciente($expediente, $nomb, $identidad) {
      if (!empty($expediente)) {
      $resultado = $this->conexion->executeQuery("select * from persona where idPersona='$expediente'");
      } else {
      $resultado = $this->conexion->executeQuery("select * from persona where nombre='$nomb' or identidad='$identidad'");
      }

      return $resultado;
      }

      public function obtieneVacunasPaciente($expediente) {
      $resultado = $this->conexion->executeQuery("select * from vacunacion inner join vacuna on vacunacion.idVacuna=vacuna.idVacuna where vacunacion.expediente_idExpediente='$expediente'");

      return $resultado;
      }

      public function guardarVacunaPaciente($expediente, $fecha, $idVacuna, $dosis, $edad, $observaciones) {
      $this->conexion->executeQuery("insert into vacunacion(expediente_idExpediente, idVacuna, dosis, mesaplicacion, observaciones, fecha) values('$expediente', '$idVacuna', '$dosis', '$edad', '$observaciones', '$fecha')");
      }

      public function modificarVacunaPaciente($expediente, $fecha, $idVacuna, $dosis, $edad, $observaciones, $fechaAct, $idVacunaAct, $dosisAct, $edadAct, $observacionesAct) {
      $this->conexion->executeQuery("update vacunacion set expediente_idExpediente='$expediente', idVacuna='$idVacuna', dosis='$dosis', mesaplicacion='$edad', observaciones='$observaciones', fecha='$fecha' where expediente_idExpediente='$expediente' and idVacuna='$idVacunaAct' and dosis='$dosisAct' and mesaplicacion='$edadAct' and observaciones='$observacionesAct' and fecha='$fechaAct'");
      }

      public function eliminaVacunaPaciente($expediente, $fecha, $idVacuna, $dosis, $edad, $observaciones){
      $this->conexion->executeQuery("delete from vacunacion where expediente_idExpediente='$expediente' and idVacuna='$idVacuna' and dosis='$dosis' and mesaplicacion='$edad' and observaciones='$observaciones' and fecha='$fecha'");
      }

     */

    /////// HENDERSON//////////

    function getdireccion() {
        return $this->direccion;
    }

    function getfecha() {
        return $this->fecha;
    }

    /**
     * HENDERSON
     */
    function getIdentidad() {
        return $this->Identidad;
    }

    function getnombre() {
        return $this->nombre;
    }

    function getsexo() {
        return $this->sexo;
    }

    function gettelefono() {
        return $this->telefono;
    }

    function getidPersona() {
        return $this->idPersona;
    }

    /**
     * 
     * @param newVal
     */
    function setdireccion($newVal) {
        $this->direccion = $newVal;
    }

    /**
     * 
     * @param newVal
     */
    function setfecha($newVal) {
        $this->fecha = $newVal;
    }

    /**
     * HENDERSON
     * 
     * @param newVal    newVal
     */
    function setIdentidad($newVal) {
        $this->Identidad = $newVal;
    }

    /**
     * 
     * @param newVal
     */
    function setnombre($newVal) {
        $this->nombre = $newVal;
    }

    /**
     * 
     * @param newVal
     */
    function setsexo($newVal) {
        $this->sexo = $newVal;
    }

    /**
     * 
     * @param newVal
     */
    function settelefono($newVal) {
        $this->telefono = $newVal;
    }

    /**
     * 
     * @param newVal
     */
    function setidPersona($newVal) {
        $this->idPersona = $newVal;
    }

    function AgregarEncargado() {
        $sql_verificar_encargado = "SELECT * FROM mostrarEncargado WHERE identidad =" . $this->Identidad;
        $qry_verificar_encargado = $this->conexion->executeQuery($sql_verificar_encargado);
        $idPersona = "";
        if (mysql_num_rows($qry_verificar_encargado) > 0) {
            echo "Encargado  ya registrado"; //Encargado  ya registrado
        } else {
            $sql_buscar_persona = "SELECT * FROM Persona WHERE identidad='" . $this->Identidad . "'";
            $qry_persona = $this->conexion->executeQuery($sql_buscar_persona);
            if (mysql_num_rows($qry_persona) > 0) {//esta registrado la persona
                $reg_persona = mysql_fetch_assoc($qry_persona);
                $idPersona = $reg_persona['idPersona'];
                //echo $qry_persona . "<br />";
            } else {//no esta registrada la persona
                $sql_add_persona = "INSERT INTO Persona (nombre,fechaNacimiento,identidad,telefono,direccion,sexo)
                    VALUES ('" . $this->nombre . "','" . $this->fecha . "','" . $this->Identidad . "','" . $this->telefono . "',
                        '" . $this->direccion . "','" . $this->sexo . "')";
                $this->conexion->executeQuery($sql_add_persona);

                $qry_persona = $this->conexion->executeQuery($sql_buscar_persona);
                $reg_persona = mysql_fetch_assoc($qry_persona);
                $idPersona = $reg_persona['idPersona'];
                /*
                  $sql_id_persona = "SELECT * FROM Persona ORDER BY idPersona DESC limit 1";
                  $qry_id_persona = $this->conexion->executeQuery($sql_id_persona);
                  $reg_id_persona = mysql_fetch_assoc($qry_id_persona);
                  $idPersona = $reg_id_persona['idPersona'];
                 */
            }

            $this->conexion->close();
            $this->conexion->connect();
            $sql_add_encargado = "call insertarEncargado ( $idPersona )";
            $qsalida = $this->conexion->executeQuery($sql_add_encargado);
            //nada
            echo $sql_add_encargado . "<br />";
            $reg = mysql_fetch_assoc($qsalida);
            $salida = $reg['salida'];
            echo "$salida <br />";
            if ($salida == 0)
                echo "Encargado agregado correctamente"; //agregado correctamente
            else
                echo "ERROR";
        }
    }

    function EliminarEncargado() {
        $sql_dele = "call borrarEncargado($this->idPersona)";
        $this->conexion->executeQuery($sql_dele);

        echo $sql_dele;
    }

    function ActualizarEncargado() {
        $sql_verificar_encargado = "SELECT * FROM mostrarEncargado WHERE idPersona=" . $this->idPersona;
        //echo $sql_verificar_encargado;
        $qry_verificar_encargado = $this->conexion->executeQuery($sql_verificar_encargado);

        if (mysql_num_rows($qry_verificar_encargado) <> 1) {
            echo "El Encargado no se ha registrado"; //encargado no esta registrado";
        } else {

            //actualizar en la tabla persona
//CREATE PROCEDURE actulizarPersona( IN idPersona2 INTEGER, IN nombre2 VARCHAR (45), IN nacimiento2 DATE, IN identidad2 VARCHAR(13), IN telefono2 VARCHAR(45), IN direccion2 VARCHAR(100), IN sexo2 VARCHAR(1) )

            if ($this->fecha != "") {
                $sql_upd_persona = "call actualizarPersona(" . $this->idPersona . ", '" . $this->nombre . "', '" . $this->fecha . "', '" . $this->Identidad . "', '" . $this->telefono . "', '" . $this->direccion . "', '" . $this->sexo . "')";
            } else {
                $sql_upd_persona = "call actualizarPersonaSinFecha(" . $this->idPersona . ", '" . $this->nombre . "', '" . $this->Identidad . "', '" . $this->telefono . "', '" . $this->direccion . "', '" . $this->sexo . "')";
            }
            //echo $sql_upd_persona;
            $this->conexion->executeQuery($sql_upd_persona);
            echo "Encargado actualizado correctamente"; //agregado correctamente
        }
    }

    /////// HENDERSON//////////
}

?>
